package cn.edu.scau.pojo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.util.Date;

/**
 * @description: 员工信息表
 * @author: yuxiang
 * @create: 2021-03-29 12:20
 **/
@Entity
@Data
@Table(name = "r_employee")
@AllArgsConstructor//使用后添加一个构造函数，该构造函数含有所有已声明字段属性参数
@NoArgsConstructor//使用后创建一个无参构造函数
@DynamicUpdate//实现动态更新
public class EmployeeEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)//数据库自增
    private Integer id;

    /**
     * 员工名字
     */
    private String employeeName;

    /**
     * 已婚标识
     */
    private Integer married;

    /**
     * 婚姻状况
     */
    private Integer maritalStatus;

    /**
     * 性别
     */
    private Integer gender;

    /**
     * 员工状态
     */
    private Integer empStatus;

    /**
     * 部门Id
     */
    private Integer deptID;

    /**
     * 性能得分
     */
    private Integer perfScoreID;

    private Integer fromDiversityJobFairID;

    /**
     * 薪资
     */
    private Integer salary;

    /**
     * 称呼
     */
    private Integer termd;

    private Integer positionID;

    /**
     * 位置
     */
    private String position;


    private String state;

    private Integer zip;

    /**
     * 出生日期
     */
    private Date DOB;

    /**
     * 性别
     */
    private String sex;

    /**
     * 单身情况
     */
    private String maritalDesc;

    /**
     * 公民信息
     */
    private String citizenDesc;

    /**
     * 种族
     */
    private String raceDesc;

    /**
     * 雇佣日期
     */
    private Date dateOfHire;

    /**
     * 教育情况
     */
    private String education;


    /**
     * 离职日期
     */
    private Date dateOfTermination;

    /**
     * 离开原因
     */
    private String termReason;

    /**
     * 员工状态
     */
    private String employmentStatus;

    /**
     * 部门
     */
    private String department;

    /**
     * 经理名称
     */
    private String managerName;

    /**
     * 经理id
     */
    private Integer managerID;

    /**
     * 招聘来源
     */
    private String recruitmentSource;

    /**
     * 绩效得分
     */
    private String performanceScore;

    /**
     * 参与度调查
     */
    private Double engagementSurvey;

    /**
     * 员工满意度
     */
    private Integer empSatisfaction;

    /**
     * 特殊项目数
     */
    private Integer specialProjectsCount;

    /**
     * 上次绩效考核日期
     */
    private Date lastPerformanceReviewDate;
}
